package com.njitzx.fileupload.util;

import lombok.Data;

@Data
public class AjaxResult {
    private int code;         // 状态码，通常 200 表示成功，其他表示失败
    private String message;   // 返回消息
    private Object data;      // 返回的数据

    // 默认成功的构造函数
    public AjaxResult() {
        this.code = 200;
        this.message = "成功";
    }

    // 带code、message、data的构造函数
    public AjaxResult(int code, String message) {
        this.code = code;
        this.message = message;
    }

    public AjaxResult(int code, String message, Object data) {
        this.code = code;
        this.message = message;
        this.data = data;
    }

    // 静态方法：成功返回数据
    public static AjaxResult success(Object data) {
        return new AjaxResult(200, "成功", data);
    }

    // 静态方法：成功无数据
    public static AjaxResult success() {
        return new AjaxResult(200, "成功", null);
    }

    // 静态方法：失败返回消息
    public static AjaxResult error(String message) {
        return new AjaxResult(500, message, null);
    }

    // 静态方法：自定义状态码和消息
    public static AjaxResult custom(int code, String message) {
        return new AjaxResult(code, message, null);
    }
}
